System for finding website invitation cueing keywords and for atrribute-based generation of invitation-cueing instructions

ABSTRACT

A system for identifying keywords which may include a non-acquiescence information collector operative to collect information indicating, for each individual website from among a multiplicity of websites, at least one keyword which brought at least one user into contact with said individual website but did not result in a defined criterion for acquiescence of a user to at least one suggestion presented by said website; and a negative keyword definer operative to define at least one specific keyword which brought at least one user into contact with a specific website but did not result in a transaction between said user and said website, as a negative keyword for said specific website. Positive keyword extraction based on aggregation of visitor acquiescence information may be provided. Paradigm structuring may include template generation of invitations and/or attribute based generation of invitation cueing sets.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/954,436, filed Nov. 24, 2010, which is a continuation of PCT PatentApplication No. PCT/IL2008/000709, filed May 26, 2008, the contents ofboth are incorporated herein by reference in their entirety.

FIELD OF THE INVENTION

The present invention relates generally to websites and moreparticularly to systems displaying, to users of an information network,invitations to visit certain websites.

BACKGROUND OF THE INVENTION

Google Adwords enables website owners to advertise their websites onGoogle for a fee payable each time an Internet user clicks theadvertisement. The website owner selects one or more keywords, which arewords or phrases related to his/her website. When Internet users searchon the Google search engine using one of the selected keywords, thewebsite owner's advertisement may be displayed next to the searchresults. Google's Keyword Tool prompts website owners to enter words orphrases descriptive of their website, or to input the website's URL, andgenerates suggested keywords as a function of this input.

The disclosures of any publications and patent documents mentioned inthe specification, and of any publications and patent documents citedtherein directly or indirectly, are hereby incorporated by reference.

SUMMARY OF THE INVENTION

Certain embodiments of the present invention seek to provide a systemfor finding website invitation cueing keywords, based on useracquiescence information.

Certain embodiments of the present invention seek to provide a systemfor template generation of invitations to websites.

Certain embodiments of the present invention seek to provide a systemfor attribute-based generation of invitation-cueing sets.

There is thus provided, m accordance with at least one embodiment of thepresent invention, a system for identifying negative keywords, thesystem comprising a non-acquiescence information collector operative tocollect information indicating, for each individual website from among amultiplicity of websites, at least one keyword which brought at leastone user into contact with the individual website but did not result ina defined criterion for acquiescence of a user to at least onesuggestion presented by the website; and a negative keyword defineroperative to define at least one specific keyword which brought at leastone user into contact with a specific website but did not result in atransaction between the user and the website, as a negative keyword forthe specific website.

Also provided, in accordance with another embodiment of the presentinvention, is a method for identifying negative keywords, the methodcomprising collecting information indicating, for each individualwebsite from among a multiplicity of websites, at least one keywordwhich brought at least one user into contact with the individual websitebut did not result in a defined criterion for acquiescence of a user toat least one suggestion presented by the website; and defining at leastone specific keyword which brought at least one user into contact with aspecific website but did not result in a transaction between the userand the website, as a negative keyword for the specific website.

Also provided, in accordance with another embodiment of the presentinvention, is a method for template generation of an invitation, themethod comprising receiving digital input and deriving a set of keywordstherefrom, defining a set of attributes for each keyword in the set byassigning an attribute value to each attribute in the set of attributes,for each keyword in the set of keywords, providing at least oneinvitation format including an arrangement of at least some of theattributes in the set of attributes; and generating at least oneinvitation having the format including, for at least one keyword in theset of keywords, arranging the keyword's attribute values in accordancewith the arrangement.

Further provided, in accordance with another embodiment of the presentinvention, is a method for generating invitation cueing sets from adigital representation of a website comprising receiving digital inputand deriving a set of keywords therefrom, defining a set of attributesfor each keyword in the set by assigning an attribute value to eachattribute in the set of attributes, for each keyword in the set ofkeywords, providing an invitation cueing keyword set generatingcriterion defined over the sets of attributes, and generating sets ofinvitation cueing keywords, each set comprising a subset of the set ofkeywords, using the criterion.

Also provided, in accordance with another embodiment of the presentinvention, is a method for improving utilization, by an individualwebsite, of a system displaying invitations inviting users to visitwebsites, the invitations being displayed responsive to keywordsassociated with users, the method comprising extracting, from a websitelog recording interactions by a population of users with the individualwebsite, at least one character string characterizing a user's sessionwith the individual website, an associated invitation issued to the userresponsive to an association of the user to the character stringdetected by the system; an associated ID of the user and an associatedindication of interactions between the user and the website, defining atleast one character string eligibility condition over the interactionsassociated with an individual character string, indicating that anindividual character string is eligible to be defined as a keyword,checking character strings extracted from the website log to identifycharacter strings conforming with at least one the eligibilitycondition, and designating to an invitation displaying system at leastan individual one of the conforming character strings as a keywordresponsive to which the invitation associated, in the website log, withwhich the individual conforming character string is to be issued.

Additionally provided, in accordance with another embodiment of thepresent invention, is an invitation display auxiliary apparatus forimproving utilization, by an individual website, of a system displayinginvitations inviting users to visit websites, the invitations beingdisplayed responsive to keywords associated with users, the apparatuscomprising a log-based user session definer operative to extract, from awebsite log recording interactions by a population of users with theindividual website, at least one character string characterizing auser's session with the individual website, an associated invitationissued to the user responsive to an association of the user to thecharacter string detected by the system; an associated ID of the userand an associated indication of interactions between the user and thewebsite, a character string eligibility condition generator operative todefine at least one character string eligibility condition over theinteractions associated with an individual character string, indicatingthat an individual character string is eligible to be defined as akeyword, a string finder operative to check character strings extractedfrom the website log to identify character strings conforming with atleast one eligibility condition, and an invitation display systeminterface operative to designate to an invitation displaying system atleast an individual one of the conforming character strings as a keywordresponsive to which the invitation associated, in the website log, withwhich the individual conforming character string is to be issued.

Additionally provided, m accordance with another embodiment of thepresent invention, is a system for generating invitation cueing setsfrom a digital representation of a website comprising apparatus forreceiving digital input and deriving a set of keywords therefrom, akeyword attribute characterized defining a set of attributes for eachkeyword in the set by assigning an attribute value to each attribute inthe set of attributes, for each keyword in the set of keywords, aninvitation cueing keyword set generator operative to generate sets ofinvitation cueing keywords, each set comprising a subset of the set ofkeywords, using an invitation cueing keyword set generating criteriondefined over the sets of attributes.

Further provided, in accordance with another embodiment of the presentinvention, is an invitation template generation system comprising akeyword set generator operative to receive digital input and derive aset of keywords therefrom, a keyword characterizer operative to define aset of attributes for each keyword in the set by assigning an attributevalue to each attribute in the set of attributes, for each keyword inthe set of keywords, an invitation format generator providing at leastone invitation format including an arrangement of at least some of theattributes in the set of attributes; and an invitation assembleroperative to generate at least one invitation having the formatincluding, for at least one keyword in the set of keywords, assemblingthe keyword's attribute values in accordance with the arrangement.

Further provided, in accordance with another embodiment of the presentinvention, is a method for improving utilization, by an individualwebsite, of a system displaying invitations inviting users to visitwebsites, the invitations being displayed responsive to keywordsassociated with users, the method comprising extracting, from a websitelog recording interactions by a population of users with the individualwebsite, at least one character string characterizing a user's sessionwith the individual website, an associated invitation issued to the userresponsive to an association of the user to the character stringdetected by the system; an associated ID of the user and an associatedindication of any interactions between the user and the website,defining at least one character string eligibility condition on theinteractions associated with an individual character string, indicatingthat an individual character string is eligible to be defined as anegative keyword, checking character strings extracted from the websitelog to identify character strings conforming with at least one theeligibility condition, and designating to an invitation displayingsystem at least an individual one of the conforming character strings asa negative keyword responsive to which the invitation associated, in thewebsite log, with the individual conforming character string is not tobe issued.

Also provided, in accordance with another embodiment of the presentinvention, is an invitation display auxiliary apparatus for Improvingutilization, by an individual website, of a system displayinginvitations inviting users to visit websites, the invitations beingdisplayed responsive to keywords associated with users, the apparatuscomprising a log-based user session definer operative to extract, from awebsite log recording interactions by a population of users with theindividual website, at least one character string characterizing auser's session with the individual website, an associated invitationissued to the user responsive to an association of the user to thecharacter string detected by the system; an associated ID of the userand an associated indication of interactions between the user and thewebsite, a character string eligibility condition generator operative todefine at least one character string eligibility condition over theinteractions associated with an individual character string, indicatingthat an individual character string is eligible to be defined as akeyword, a string finder operative to check character strings extractedfrom the website log to identify character strings conforming with atlease one the eligibility condition; and an invitation display systeminterface operative to designate to an invitation displaying system atleast an individual one of the conforming character strings as anegative keyword responsive to which the invitation associated, in thewebsite log, with the individual conforming character string is not tobe issued.

Certain embodiments of the present, invention are useful in applicationsin which it is desired to find search terms which have yielded clicksbut no conversions, define them as negative keywords and put them in arelevant invitation cueing set, e.g. adgroup, e.g. according to fieldsof a request

Certain embodiments of the present invention are useful in applicationsin which it is desired to extract pages with keywords and attributesusing crawlers, and then automatically generate creatives usingpredefined rules.

Certain embodiments of the present invention are useful in keywordharvesting applications in which it is desired to extract a search termfrom website (proxy) logs and to select good search terms, using asuitable goodness criterion such as conversion, for addition to existinginvitation cueing sets.

Certain embodiments of the present invention are useful in keywordharvesting applications in which an invitation display system such as asearch engine with invitation display capabilities, more highly rates orpositions bidded keywords that are the same as the search term, relativeto bidded keywords that are more general than the search term.

Any suitable processor, display and input means may be used to process,display, store and accept information, including computer programs, inaccordance with some or all of the teachings of the present invention,such as but not limited to a conventional personal computer processor,workstation or other programmable device or computer or electroniccomputing device, either general-purpose or specifically constructed,for processing; a display screen and/or printer and/or speaker fordisplaying; machine-readable memory such as optical disks, CDROMs,magnetic-optical discs or other discs; RAMs, ROMs, EPROMs, EEPROMs,magnetic or optical or other cards, for storing, and keyboard or mousefor accepting. The term “process” as used above is intended to includeany type of computation or manipulation or transformation of datarepresented as physical, e.g. electronic, phenomena which may occur orreside e.g. within registers and/or memories of a computer.

The above devices may communicate via any conventional wired or wirelessdigital communication means, e.g. via a wired or cellular telephonenetwork or a computer network such as the Internet.

The apparatus of the present invention may include, according to certainembodiments of the invention, machine readable memory containing orotherwise storing a program of instructions which, when executed by themachine, implements some or all of the apparatus, methods, features andfunctionalities of the invention shown and described herein.Alternatively or in addition, the apparatus of the present invention mayinclude, according to certain embodiments of the invention, a program asabove which may be written in any conventional programming language, andoptionally a machine for executing the program such as but not limitedto a general purpose computer which may optionally be configured oractivated in accordance with the teachings of the present invention.

The embodiments referred to above, and other embodiments, are describedin detail in the next section.

Any trademark occurring in the text or drawings is the property of itsowner and occurs herein merely to explain or illustrate one example ofhow an embodiment of the invention may be implemented.

Unless specifically stated otherwise, as apparent from the followingdiscussions, it is appreciated that throughout the specificationdiscussions, utilizing terms such as, “processing”, “computing”,“estimating”, “selecting”, “ranking”, “grading”, “calculating”,“determining”, “generating”, “reassessing”, “classifying”, “generating”,“producing”, “stereo-matching”, “registering”, “detecting”,“associating”, “superimposing”, “obtaining” or the like, refer to theaction and/or processes of a computer or computing system, or processoror similar electronic computing device, that manipulate and/or transformdata represented as physical, such as electronic, quantities within thecomputing system's registers and/or memories, into other data similarlyrepresented as physical quantities within the computing system'smemories, registers or other such information storage, transmission ordisplay devices.

The following terms may be construed either in accordance with anydefinition thereof appearing in the prior art literature or inaccordance with the specification, or as follows:

Paradigm—A set of Invitation Cueing Sets. A campaign which uses awebsite, such as a website promoting participation in elections, topromote a behavioral goal, such as voting behavior, is an example of aparadigm. The goal may be acquiescence with a behavior proposed by thewebsite such as filling in a voter registration form required foroverseas voters.

Expansion tool—A computer based method used to generate a set ofkeywords given a keyword or a set of positive keywords. There is usuallysome kind of relation between the input and output, for example,Google's keyword tool.

Feed—Synonym for “website representation”.

Invitation—a display of user-sensible content pertaining to a website,the display being associated with the address of the website. Aninvitation is typically displayed by an invitation displaying system toindividual users responsive to invitation cueing keywords found by thesystem to be associated with the individual users.

Invitation cueing instruction set (also invitation cueing set, ICS)—Aset of instructions for an invitation displaying system. The set ofinstructions typically comprises at least an invitation set, includingone or more invitations, and a (positive) keyword set, includinginvitation cueing keywords. When the (positive) keyword set is providedto an invitation displaying system, the invitation displaying system isoperative to display one of the invitations in the invitation set,according to pre-defined invitation selection rules, if there are morethan one invitations in the invitation set) to individual users found bythe system to be associated with any of the invitation cueing keywordsin the (positive) keyword set. An invitation cueing instruction set mayinclude other components, such as a set of negative keywords. An adgroupis an example of an invitation cueing set

An example of an Invitation Cueing Set is as follows:

( (Voting John→ Click=1, Register=1, Vote=0, Source=1) (Stop Vote JohnSmith → Click=3, Register=0, Vote=0, Source=1) (Republican Party →Click=1, Register=0, Vote=1, Source=1) )

Item Description—A textual segment, possibly with formatting, whichgives information about an item and its features. For example,“<PAGE>voteintheunitedstates.com/JohnSmith.html;45, John Smith</Page>”.

Keyword—a set of words and symbols. For example, “John”, “Apollo 13”,“Q&A”.

Land URL—The address or location for which an invitation invites. Forexample, “voteintheunitedstates.com/JohnSmith.htlm”, “phone no.+972-(70)-07070707”,

Metadata—Any information which refers to some item. For instance,Keyword's metadata can be its source, number of words, type (negative,positive), performance metrics etc.

Negative keyword—a keyword which is defined by an owner of an individualwebsite and which, if associated by an invitation display system with acertain user, would cue the invitation display system such as a searchengine, to retrain from displaying an invitation to the individualwebsite to that user. Usually, negative keywords override positivekeywords associated with the same user in that a user associated with apositive keyword and a negative keyword defined for the same website, istypically not exposed, by the invitation display system, to aninvitation to that website.

Page—webpage.

Page Attribute (or just Attribute)—A feature of a page or of itemsdescribed within the page. For example, in a page containing a candidatefor presidency with his name, age, height and political view, each ofthe above can be an attribute.

Performance Metric—A quantitative measure which is associated with anelement (such as but not limited to a keyword or invitation) in aParadigm, and which quantifies performance of the element. For example,performance metrics of a keyword may include the number of times it wasused to search and/or the number or percentage of users who after usingthe keyword for searching clicked on the website owner's invitation.Performance metrics of an invitation may for example include the numberof times it was viewed and/or the number of clicks it earned and/or thenumber of users who, after clicking on it, registered.

Positive/Negative Condition—In this invention: a Boolean expression usedto select a subset of items from a set of items using their metadata.

Positive Keyword—a keyword which is defined by an owner of an individualwebsite and which, if associated by an invitation display system with acertain user, would (typically, unless overridden by a negative keywordassociated with the same user) cue the invitation display system such asa search engine, to display an invitation to the individual website tothat user.

Possible actions—a set of textual strings that an action (or equivalent)field may contain. For example, clicks, registration, purchase, votingor other forms of acquiescence with a website proposed alternative.

Rules—a set of instructions in a predefined format which instruct aprocess how to take specific decisions.

Search phrase—A keyword which is given to a search engine m order tofind relevant items. For example, “elections”.

Source—An element (positive keyword, page, feed etc.) which by applyingsome action or a set of actions on or related to it yielded anotherelement, will be called the source of the latter. Given a multiplicityof sources, which is the direct source or simply the source can beunderstood from the context Moreover an element may have multiplesources. For example, using the Expand Keyword process on the keyword“voting” the result may be “Ukraine elections” and “US voting”, so thesource of both will be “voting”.

User—A person or computer based entity that uses an information networkand is invited to visit various websites.

Website Owner—A person or computer based entity that manages theperformance of an individual website including issuing invitations tousers to visit the individual website, typically via an invitationdisplaying system.

Website Representation—An object, physical or virtual, which containsdetailed information on a website or certain parts of it. For example,as per the example of FIG. 8 which is a partial representation of akenshoo.com website. Format is a list of <PAGE> tags, with an attributenamed url (which contains the page address), the title of the link tothe page on the main page, a comma, and the headline of the page.

Keyword—string of letters and numbers which may or may not be subdividedinto words, such as “Vote Johnson”,

Website log—(a) a log of traffic arriving at an individual website andinteracting therewith, including a record of the requests to the websiteand responses provided by the website. Some requests include searchterms. For example, certain requests includes a referrer fieldindicating the referring entity (typically the URL of a referringwebsite such as a search engine including the search term, which whenused by the requester, resulted in the requester being invited to clickon the URL of the individual website inter alia), or (b) A set ofrecords describing transactions (requests and responses) that havepassed through the website.

Acquiescence—a user's acceptance of at least one suggestion presented bya website including providing at least one website-requested input otherthan a website navigating input. For example, if a user Ms out a voterregistration form presented by and appearing within a website, this ismay be defined by a system as an instance or form of acquiescence.Joining a distribution list promoted within a website may be defined bya system as an instance or form of acquiescence. Signing a petitionpresented within a website may be defined by a system as an instance orform of acquiescence. Making a donation responsive to a cause presentedby a website may be defined by a system as an instance or form ofacquiescence.

BRIEF DESCRIPTION OF THE DRAWINGS

Certain embodiments of the present invention are illustrated in thefollowing drawings:

FIG. 1 is a simplified functional block diagram illustration of a systemfor positive and/or negative Keyword Acquisition and Paradigmgeneration, the system being constructed and operative in accordancewith certain embodiments of the present invention;

FIG. 2 is a simplified flowchart illustration of a method for KeywordExtraction from a Website Representation, the method being constructedand operative in accordance with certain embodiments of the presentinvention. The method of FIG. 2 is suitable for implementing theoperation of functional unit 1010 of FIG. 1, according to a firstembodiment of the present invention in which keywords are extracted froma digital representation of a website which may or may not include thewebsite itself;

FIG. 3A is a simplified flowchart illustration of a method for KeywordExtraction from Website Logs, the method being constructed and operativein accordance with certain embodiments of the present invention. Themethod of FIG. 3A is suitable for implementing the operation offunctional unit 1010 of FIG. 1, according to a second embodiment of thepresent invention in which keywords are extracted from a website log;

FIG. 3B is a simplified flowchart illustration of a method forperforming the per-search phrase metric aggregation loop of FIG. 3A, themethod being constructed and operative in accordance with certainembodiments of the present invention;

FIG. 4 is a simplified flowchart illustration of a method for KeywordExpansion, the method being constructed and operative in accordance withcertain embodiments of the present invention. The method of FIG. 4 issuitable for implementing the operation of functional unit 1020 of FIG.1;

FIG. 5A is a simplified flowchart illustration of a method for ParadigmStructuring—given a list of positive keywords, the method beingconstructed and operative in accordance with certain embodiments of thepresent invention. The method of FIG. 5A is suitable for implementingthe operation of functional unit 1040 of FIG. 1, according to a firstembodiment of the present invention in which a paradigm is structured inaccordance with a list of keywords;

FIG. 5B is a simplified flowchart illustration of a method forperforming the “divide keywords into invitation cueing sets” loop ofFIG. 5A, the method being constructed and operative in accordance withcertain embodiments of the present invention;

FIG. 6 is a Simplified flowchart illustration of a method for ParadigmStructuring given a list of negative keywords, the method beingconstructed and operative in accordance with certain embodiments of thepresent invention. The method of FIG. 6 is suitable for implementing theoperation of functional unit 1040 of FIG. 1, according to a secondembodiment of the present invention in which a Paradigm is structuredwith a list of negative keywords;

FIGS. 7A-7H are data tables which may be used by the system of FIG. 1 inaccordance with certain embodiments of the present invention;

FIG. 8 is an example of a website representation which may be used asinput by the system of FIG. 1 in accordance with certain embodiments ofthe present invention;

FIG. 9 is a simplified pictorial illustration of a first website ownervalidation display screen which may be presented by the optional websiteowner validation functional unit of the system of FIG. 1;

FIG. 10 is a simplified pictorial illustration of a second website ownerdisplay screen which may be presented by the optional website ownervalidation functional unit of the system of FIG. 1;

FIGS. 11A-11F describe various example states of the source table ofFIG. 7D, which may occur in example uses of the system of FIG. 1;

FIGS. 12A-12B describe example states of the page table of FIG. 7A,which may occur in example uses of the system of FIG. 1;

FIGS. 13A-13J describe various example states of the positive keywordtable of FIG. 7B, which may occur in example uses of the system of FIG.1;

FIGS. 14A-14B describe example states of the page attribute table ofFIG. 7C, which may occur in example uses of the system of FIG. 1;

FIGS. 15A-15B describe various example states of the Invitation cueingset table of FIG. 7F, which may occur in example uses of the system ofFIG. 1;

FIGS. 16A-16B describe various example states of the invitation table ofFIG. 7E, which may occur in example uses of the system of FIG. 1;

FIG. 17 describes an example state of the Website Log table of FIG. 7(5,which may occur in example uses of the system of FIG. 1;

FIGS. 18A-18B describe various example slates of the Negative keywordstable of FIG. 7H, which may occur in example uses of the system of FIG.1; and

FIG. 19 is a simplified flowchart illustration of a method for numericalcrawling which is constructed and operative in accordance with certainembodiments of the present invention.

DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS

FIG. 1 is a simplified functional block diagram illustration of a systemfor positive and/or negative Keyword Acquisition and Paradigmgeneration, the system being constructed and operative in accordancewith certain embodiments of the present invention. The output of keywordextraction unit 1010 may be stored in the page, positive keyword, pageattribute and source tables of FIGS. 7A-7D respectively as described indetail below. The output of keyword expansion unit 1020 may also bestored in the page, positive keyword, page attribute and source tablesof FIGS. 7A-7D respectively as described in detail below. The output ofthe Paradigm structuring unit 1040 may be stored in the positivekeyword, invitations and invitation cueing set tables of FIGS. 7B, 7Eand 7F respectively, as described in detail below.

FIG. 2 is a simplified flowchart illustration of a method of operationfor the Keyword Extraction unit 1010 of FIG. 1, the method beingconstructed and operative in accordance with certain embodiments of thepresent invention in which the input to the unit 1010 comprises aWebsite Representation The method of FIG. 2 typically comprises some orall of the illustrated generally self-explanatory steps, suitablyordered e.g. as illustrated.

Regarding steps 2020-2070, various formats of website representationsmay be used and the rules used by the Extract Keywords process may bedifferent than those specifically illustrated. For instance, a keywordextraction system may be designed which can extract keywords from agiven known format, such as an RSS, which has a well defined structurehaving no degrees of freedom. In this case, no rules need be provided bya website owner who provides the RSS to the system.

An item description validation step may be added, e.g. immediately afterstep 2050. In this step, the system can check that each item descriptionis valid, typically in the sense that when processed in subsequentsteps, it will produce sensible results. An example for such validationis to provide a Java Regular Expression as a validation rule. An itemdescription is then valid if the expression is found in the itemdescription, and invalid otherwise. This validation is beneficial whenthe item descriptions are actual web-pages.

FIG. 3A is a simplified flowchart illustration of a method of operationfor the Keyword Extraction unit 1010 of FIG. 1, the method beingconstructed and operative in accordance with certain embodiments of thepresent invention in which the input to the unit 1010 comprises aWebsite Log. The method of FIG. 3A typically comprises some or all ofthe illustrated generally self-explanatory steps, suitably ordered e.g.as illustrated. In Step 2140, the source ID may, for instance, appear asa parameter in a redirecting URL which exists in an invitation generatedby a SEM system. The user tracking 10 may appear as an HTTP cookie. Thesearch phrase may for example be derived from the referrer field of theHTTP request, which is the URL of the page the user came from. This URLoften includes a standard parameter whose value is the search term. Forinstance, the fields may be:

-   GET    voteintheunitedstates.com/JohnSmith.html?keyword_id=1&invitation_id=1-   Cookie: YTGHIKLJHNBVMNBY-   Referrer: fakese.com/search?q=Voting+John+Smith.

FIG. 3B is a simplified flowchart illustration of a method forperforming the per-search phrase metric aggregation step 2130 of FIG.3A, the method being constructed and operative in accordance withcertain embodiments of the present invention. The method of FIG. 3Btypically comprises some or all of the illustrated generallyself-explanatory steps, suitably ordered e.g. as illustrated.

FIG. 4 is a simplified flowchart illustration of a method of operationfor the Keyword Expansion unit 1020 of FIG. 1, the method beingconstructed and operative in accordance with certain embodiments of thepresent invention. The method of FIG. 4 typically comprises some or allof the illustrated generally self-explanatory steps, suitably orderede.g. as illustrated. In Step 3050, each expansion rule typically mayeither point to a proprietary keyword expansion tool or include a formof redirection to a conventional keyword expansion tool such as but notlimited to Google's keyword tool, Wordtracker and Seo Book KeywordSuggestion Tool.

FIG. 5A is a simplified flowchart illustration of a method of operationfor the Paradigm Structuring unit 1040 of FIG. 1, given a list ofpositive keywords, the method being constructed and operative inaccordance with certain embodiments of the present invention. The methodof FIG. 5A typically comprises some or all of the illustrated generallyself-explanatory steps, suitably ordered e.g. as illustrated. RegardingSteps 4050 and 4120, the rules typically instruct how to obtainattributes per positive keyword, using fields included in the keyword'srecord in the Positive Keyword Table of FIG. 7B, such as the Page IDfield Source field, Invitation Cueing Set ID, etc. The rules mayinstruct how to use these IDs as references to other tables such as thePage Attribute Table of FIG. 7C, in order to obtain respectiveinformation stored there, such as page attributes.

FIG. 5B is a simplified flowchart illustration of a method forperforming the “divide keywords into invitation cueing sets” step 4030of FIG. 5A, the method being constructed and operative in accordancewith certain embodiments of the present invention. The method of FIG. 5Btypically comprises some or all of the illustrated generallyself-explanatory steps, suitably ordered e.g. as illustrated.

FIG. 6 is a simplified flowchart illustration of a method for ParadigmStructuring—given a list of negative keywords, the method beingconstructed and operative in accordance with certain embodiments of thepresent invention. The method of FIG. 6 typically comprises some or allof the illustrated generally self-explanatory steps, suitably orderede.g. as illustrated.

Additional parameters may be set in the process of paradigm structuring,depending on the specific invitation displaying system. For instance, inseveral such systems it is possible to set Geo-Targeting to Paradigmsand to Invitation Cueing Instruction Sets, thereby to address aninvitation only to certain users such as users from a specified regionor only those users who use a specified language. The language field inthe Positive Keywords can be used to ensure that keywords in French donot become part of Invitation Cueing Instruction Sets which aredisplayed in English-speaking countries and vice versa.

In Steps 2020, 2115, 3010, 4010 and the like, prompting of the websiteowner can be replaced by initially storing the relevant information in asuitable data structure, and retrieving therefrom as the relevantinformation is used.

An example of a suitable Data Structure for the system of FIG. 1includes the tables of FIGS. 7A-7H. Page Data may be stored in thePagesTable of FIG. 7A. The language field, can be extractedautomatically by standard packages, given as a parameter in various waysor left for the website owner to manually configure, with some arbitrarydefault In specific examples below the default was chosen to be “En”(code for English). Positive keywords may be stored in the PositiveKeywords Table of FIG. 7B.

Page Attributes may be stored in the Page Attributes Table of FIG. 7C.If all of the attributes are instances of a small number of abstractattributes, then the name and the type fields can be stored in aseparate table, called Abstract Attributes, together with an identifyingfield, so that in Page Attribute Table the name and type will bereplaced with the identifying field from AbstractAttributes.

Sources may be stored in the Sources Table of FIG. 7D. Invitations maybe stored in the invitations table of FIG. 7E. Invitation Cueing Setsmay be stored in the Invitation Cueing Set Table of FIG. 7F. Website Logdata may be stored in the website log Table of FIG. 7G. Many otherfields may exist in the website log table other than those shown.Negative Keywords may be stored in the Negative Keywords Table of FIG.7H.

Suitable rules, such as some or all of the following rules, may beprovided by a website owner and suitably stored:

-   -   a. Attributes to Keywords rule—Instruct the Extract Keywords        process (step 1010 in FIG. I) how to create keywords according        to page attributes. For example, given the attributes Name=“John        Smith”, PoliticalView=“democrat” a rule can be    -   R:The {PoliticalView} {Name}    -   So the resulting keyword will be “The democrat Mm Smith”    -   b. Divide to Invitation Cueing Set rule—Instruct the Structure        Paradigm process how to divide the keywords to Invitation Cueing        Set according to their metadata. For example, the rule can be    -   R:Keyword.Source    -   Each keyword will be inserted to an Imitation Cueing Set whose        name is the same as the keyword's source.    -   c. Expansion rule—Instruct to the expansion process how to find        for each keyword/set of keywords a set of related keywords. The        simplest form is a list of expansion tools.    -   d. Invitation rule—Instructs the Structure Paradigm process how        to construct an invitation using the positive keywords of the        Invitation Cueing Set and related metadata. For example, given        the page attribute related to a certain Invitation Cueing        Set—MaritalStatus=“Single”, Age=45—the rule can be R:        Header=“Want a {MaritalStatus} President?“Line1=”Click here to        vote for” Line2=“a {Age} years old candidate!“LandURL=”        voteintheunitedstates.com”    -   So (he resulting invitation will be    -   Want a Single. President?    -   Click here to vole for    -   a 45 year old candidate!    -   voteintheunitedstates.com    -   e. Parse rule—Instructs the Extract Keyword process how to        extract attributes from item descriptions in the website        representation. For example,    -   R:<PAGE>{Land URL};{Age},{Name}</Page>    -   Using it on the item description    -   <PAGE>voteintheunitedstates.com/JohnSmith.html;45, John Smith        </Page>    -   yields the attributes    -   Land URL=voteintheunitedstates.com    -   Age=45    -   Name=John Smith    -   f. Spilt rule—Instructs the Extract Keyword process how to split        the web representation into item descriptions. For example, the        rule, written as a Java Regex, can be    -   R: .*;    -   Using it on the website representation    -   John Smith, 45; Israel Israeli, 77;    -   yields    -   John Smith, 45    -   Israel Israeli, 77

Additional Data structures, other than the tables and rules described,may include some or all of the following:

-   a. Website Representation which may, for example, be stored in a    string-   b. List of item descriptions which may for example be stored in a    linked list of strings-   c. Item description which may for example be stored in a string-   d. A (Land URL, List of attributes) pair which may for example be    stored in two variables (String and String), a list of strings or a    specially devised data structure-   e. A (Land URL, list of attributes, list of keywords) triplet which    may for example be stored in three variables (String, String and    List of Strings), a list of objects or a specially devised data    structure-   f. Website Logs entries with search phrases (same as the full table    only in memory) which may for example can be stored in a table like    data-structure (list of records)-   g. A (Search phrase, user id, source) triplet which may for example    be stored in three variables (String, String and Integer), a list of    objects or a specially devised data structure-   h. A (Search phrase, user id, source, a list of log entries) set    which may for example be stored in four variables (String, String,    Integer and List of Website Logs records), a list of objects or a    specially devised data structure-   i. List of (search phrase→performance metrics, source) which may for    example be stored in a Map of (search phrase→List of object    containing List of floating precision numbers and integers)-   j. List of Keywords which may for example be stored as a List of    strings (each keyword comprising a string).-   k. A (Keyword, Invitation Cueing Set Name) pair which may for    example be stored in two variables (String and String), a list of    strings or a specially devised data structure-   l. Invitation Cueing Set which may for example be represented by an    ICS Id (integer) or as a List of lists containing a List of positive    keywords (strings), List of negative keywords (strings), List of    invitations (a specially devised data structure based upon the    Invitation Table record) and a Map of properties (Name→Value)-   m. A (Invitation Cueing Set, Invitations) pair which may for example    be stored in two variables (Invitation Cueing Set and a specially    devised data structure based upon the Invitation Table record)-   n. Possible Actions which may for example be stored as a list of    strings-   o. Conditions which may for example can be stored as a list of    strings

Simplified pictorial illustrations of display screens useful forobtaining a website owner's validation of keywords are shown in FIGS. 9and 10. A Basic view is shown in FIGS. 9 and a “Save to Paradigm” viewis shown in FIG. 10. Clicking on “Save to Paradigm” in the screendisplay of FIG. 9 brings up the screen display of FIG. 10. In FIG. 9,“select all” and “unselect all” serve to mark or unmark all records.“Reject” serves to remove select keywords from the table. “Save toParadigm” serves to open the structuring pane of FIG. 10. The leftmostcolumn comprises selectable box icons. The table of FIG. 9 presents theresults of the keyword expansion unit 1020, say, of FIG. 1, for websiteowner validation. The website owner is typically able to change certainparameters; in the illustrated embodiment the parameters the websiteowner is entitled to override are marked by “edit”.

In FIG. 10, the website owner can typically delete any of the “divide toinvitation Cueing sets” rules by using the X option, and can add a newsuch rule by pressing “add”. Arrows may be provided to allow the websiteowner to navigate up and down the list of invitation rates; such rulescan typically be removed, or more can be added. The “start structuring”button allows the website owner to initiate the Paradigm structuringmethod of FIG. 5 or FIG. 6.

Two examples of work sessions using the system of FIG. 1 are nowdescribed. Various states of the tables of FIGS. 7A-7H are presented inFIGS. 11A-18B.

EXAMPLE 1

A first example workflow is now described with reference to FIGS.11A-11D, 12A-12, 13A-13E and 14A-16B. Carmel, a website owner, isdeveloping an application designed to increase the awareness to the USelections using the Internet. For this cause, Carmel establishes awebsite named voteintheunitedstates.com, which contains details on thecandidates. Moreover, she wants to initiate a search engine sponsoredParadigm which will attract more US citizens to the website and hence tovote.

Carmel's website contains two pages, one for each of the following twocandidates:

1. John Smith, a 45 year old Democrat, and

2. Sara Johnson, a 43 year old Republican

In order to create the Paradigm using the embodiment disclosed above,Carmel prepares the following Website Representation:

Positive keywords=( “elections” “voting” “republican candidate” );invitations=( Join the elections Click here to register quick and freevoteintheunitedstates.com Support the Republican Candidate? Click hereto register and influence voteintheunitedstates.com ) Negative Keywords= ( Senate Congress )

Carmel also predefines rates used by the methods of FIGS. 1-6, such asthe following rules R1 to R6. Rules can be defined in any suitableformat. Below the format of the split rule is Java Regular Expression.The expansion rate is formatted as a list of expansion tool. The otherrules below use { } parentheses, with the attribute name in it, as aplace-holder for an attribute value, as seen in the examples above.

-   R1 (Split Rule):-   <PAGE.*</PAGE>-   R2: Parse Rule

START OF XML FILE MySite.xml <PAGE url=“voteintheunitedstates.com\JohnSmith.html”> 45, John Smith, male,democrat </ PAGE> < PAGE url=“voteintheunitedstates.com\SaraJohnson.html ”> 43, Sara Johnson, female, republican </ PAGE> END OFXML FILE

-   R3: Attributes2Keywords Rules

1. Vote {Name}

2. {Party} candidate

-   R4: Expansion Rules

1. Use FakeKeywordTool, an online free keyword expanding tool

2. Use a conventional Translator package; English→French

-   R5: Divide to Invitation Cueing Set by Attribute Rule-   Page. {Name} OR Source.ICS ID-   R6: Invitation Rule-   Vote For {Name}-   Participate in the US Elections!-   Vote for the (Party) candidate!-   Voteintheunitedstates.com-   She provides all of this data to the system of FIG. 1. Keyword    Extraction may be performed as per the method of FIG. 2; Step 2040    (splitting MySite.xml to item description using the Split Rule),    yields:    -   1. <PAGE url=“voteintheunitedstates.com\JohnSmith.html”>45, John        Smith, male, democrat</PAGE>    -   2. <PAGE url=“voteintheunitedstates.com\SaraJohnson.html”>43,        Sara Johnson, female, republican</PAGE>-   The per-description Loop 2050 is now performed for Item description    #1. Step 2070 (Parsing item description using the Parse Rule),    yields the following Attributes:

LandURL=“voteintheunitedstates.com/JohnSmith.html”

Age*=45

Name=“John Smith”

Gender=“male”

Party=“democrat”

-   Step 2090 (Create a list of positive keywords using    Attributes2Keywords Rules), yields:

Vote John Smith

Democrat candidate

Step 2100: The state of the Sources Table of FIG. 7D is as shown in FIG.11A. The state of the Pages Table of FIG. 7A is as shown in FIG. 12A.The state of the Positive Keywords Table of FIG. 7B is as shown in FIG.13A. The state of the Page Attributes Table of FIG. 7C is as shown inFIG. 14A.

The Loop defined by step 2050 in FIG. 2 is now performed for Itemdescription #2, including steps 2070, 2090, 2100 in FIG. 2. The state ofthe Sources Table of FIG. 7D is as shown in FIG. 11B. The state of ThePages Table of FIG. 7A is as shown in FIG. 12B. The state of thePositive Keywords Table of FIG. 7B is as shown in FIG. 13B. The state ofthe Page Attributes Table of FIG. 7C is as shown in FIG. 14B.

Keyword Expansion is now performed as per the method of FIG. 4._Inthe_Loop defined by step 2130 in FIG. 3A, the positive keyword=Vote JohnSmith. Expansion Rules R4 as defined by Carmel are used to obtainexpansion tools. Per-expansion rule Loop defined by step 3040 in FIG. 4yields: Expanding Tool=FakeKeywordTool. In Step 3050, this tool is usedto find related keywords, e.g.: John Smith→(Governor Smith, votingSmith). After Step 3060 (Store), the state of the Sources Table of FIG.7 D is as shown in FIG. 11C and the state of the Positive Keywords Tableof FIG. 7B is as shown in FIG. 13C. In the Per-expansion rule Loopdefined by step 3040 in FIG. 4, Expanding Tool=Translator—English toFrench. Following Steps 3050 and 3060, the state of the PositiveKeywords Table of FIG. 7B is as shown in FIG. 13D.

Following the loops defined by steps 3020 and 3040 of FIG. 4 for therest of the keywords, the state of the Sources Table of FIG. 7D is asshown in FIG. 11D. The state of the Positive Keywords Table of FIG. 7Bis as shown in FIG. 13C

Website owner validation may optionally be sought Display screens e.g.those of FIGS. 9-10 may be displayed to Carmel to enable her to validatecertain keywords and delete others. For instance, the keyword “JohnsonSecurity LTD” is obviously not relevant for the Paradigm, so Carmelmight want to delete it. Alternatively, as is assumed in the illustratedexample, the system can continue automatically without seeking websiteowner validation.

Structuring of a Paradigm based on the above output is performed inaccordance with the method of FIG. 5A. Step 4020 (Select keywords withno Invitation Cueing Set ID), yields the following Keywords Ids:(1,2,3,4,5,6,7,8,9,10,11). In the Per-keyword Loop defined by step 4030to FIG. 5A, keyword #1: Vote John Smith. In Step 4050 (Using Divide toInvitation Cueing Set by Attribute Rule R5 as defined by Carmel), theInvitation Cueing Set Name is “John Smith”. Step 4060 (Invitation CueingSet Exists?) goes to No. This yields the slate of Invitation Cueing SetsTable of FIG. 7F shown in FIG. 15A. After Step 4080 (Set the InvitationCueing Set ID), the state of the Positive Keywords Table of FIG. 7B isas shown in FIG. 13E. Performing the Per-keyword Loop defined by step4030 in FIG. 5A including steps 4050-4080, for the rest of the positivekeywords, yields the state of the Invitation Cueing Set Table as shownin FIG. 15B and the state of the Positive Keywords Table of FIG. 7B asshown in FIG. 13F. In the Loop defined by step 4100 in FIG. 5A,Invitation Cueing Set #1: John Smith. In step 4120: an invitation iscreated using the Invitation Rule R6 defined by Carmel. This yields, forexample, the following invitation:

Vote For John Smith

Participate in the US Elections!

Vote for the democrat candidate!

Voteintheunitedstates.com

In Step 4130, the invitation is stored e.g. in a table of invitations.The state of the Invitations Table of FIG. 7E is as shown in FIG. 16A.The data shown stored in the data field of FIG. 16A can be stored inseparate fields, depending on the systems in which these invitations arepresented. In the Loop defined by step 4100 in FIG. 5A: InvitationCueing Set #2: Sara Johnson. Performing Steps 4120-4130 for thisInvitation Cueing Set yields the state of the Invitations Table of FIG.7E shown in FIG. 16B.

EXAMPLE 2

Another example workflow is now described, with reference to the tablesof FIGS. 11E-11F, 13G-13I, 17 and 18A-18B inter alia. It is appreciatedthat here as in other examples, these figures do not fully represent thestates of various tables indicated, but rather only the states of new orrelevant portions of these tables. It is assumed that the initial stateof the system of FIG. 1 under Example 2 is the same as the final stateof the system under Example 1. In Example 2, after running her Paradigmwith the above Invitation Cueing Sets for some time, Carmel decides touse the system of FIG. 1 again, this time using her website's logsinstead of MySite.xml as previously. To do so, Carmel defines threepossible actions and two conditions: a positive condition PCI and anegative condition NCI.

Possible Actions: Click. Register, Vote

Positive Conditions: PCI: Register>0

Negative Conditions: NCI: clicks>2 AND Register=0 AND Vote=0

The logs may have the form illustrated in the table of FIG. 17.“fekese.com” can be a known search engine with a known url of search:/?q={search phrase}, so the parsing is straightforward (+ sign standsfor a space character). Initially, PCI—Register>0. Keyword extraction isperformed as per the method of FIGS. 3A-3B. In Step 2120 (Pick entrieswith search phrases), Ids=(1,3,4,5,6). In the Loop defined by step 2130in FIG. 3A, Entry #1: ID=1. In Step 2140:

-   Search phrase=“Voting John”-   Source keyword ID=1-   Cookie=8FGJ

In Step 2150, later entries with the same user ID are found: Ids=(2).Step 2180 which uses the list of possible actions to compute performancemetrics, yields:

-   Click=1-   Register=1-   Vote=0    In the Loop defined by step 2130 in FIG. 3A, Entry #2 is ID=3.    Following steps 2140-2170:-   Click=2-   Register=0-   Vote=0    Continuing the Loop defined by step 2130 in FIG. 3A for the rest of    the keywords yields the following list:

{ } is a placeholder sign; <PAGE url={LandUrl}> {Age},{Name},{Gender},{Party} </ PAGE>Step 2210 uses condition PCI to choose search phrases and yields:

(Voting John)

After Step 2220 (Positive condition), the state of the Sources Table ofFIG. 7D is as shown in FIG. 11B. The state of the Positive KeywordsTable of FIG. 7B is as shown in FIG. 13G. Keyword Expansion is nowperformed as per the method of FIG. 4. After running the two loops ofFIG. 4 (as defined by steps 3020 and 3040), as before, the state of theSources Table of FIG. 7D is as shown in FIG. 11F and the state of thePositive Keywords Table of FIG. 7B is as shown in FIG. 13H. OptionalWebsite owner's validation, e.g. using the screen displays of FIGS.9-10, is followed by Paradigm structuring e.g. as per the method ofFIGS. 5A -5B. Steps 4010 and 4020 (Select positive keywords with noInvitation Cueing Set ID) yield: Keyword ID=12. In the Loop defined bystep 4030 in FIG. 5A, Keyword ID=12.

Step 4050 (Using Divide to Invitation Cueing Set by Attribute Rule R5 asdefined by Carmel) yields: Source. Invitation Cueing Set ID. TheInvitation Cueing Set Name is “John Smith”. Step 4060 (Invitation CueingSet (ICS) Exists?) goes to No. After Step 4080, the state of thePositive Keywords Table of FIG. 7B is as shown in FIG. 13L The Loopdefined by step 4100 in FIG. 5A is performed. There is no new InvitationCueing Set so the loop ends.

The NCI condition defined by Carmel is now processed. Steps 2120-2190 ofFIG. 3 A are performed, yielding:

( (Voting John→ Click=1, Register=1, Vote=0, Source=1) (Stop Vote JohnSmith → Click=2, Register=0, Vote=0, Source=1) (Stop Vote John Smith →Click=1, Register=0, Vote=0, Source=1) (Republican Party → Click=1,Register=0, Vote=1, Source=1) ) Step 2190 (Aggregate) yields: ( (VotingJohn→ Click=1, Register=1, Vote=0, Source=1) (Stop Vote John Smith →Click=3, Register=0, Vote=0, Source=1) (Republican Party → Click=1,Register=0, Vote=1, Source=1) )Step 2210 (Select by condition NCI) yields:

(Stop Vote John Smith)

After Step 2220 is performed (Negative condition), the state of theNegative Keywords Table is as shown in FIG. 15A. Structuring is thenperformed in accordance with the method of FIG. 6. The Loop defined bystep 4150 in FIG. 6 yields Keyword ID=1. In Step 4160: The InvitationCueing Set ED of source of the keywords=1. After Step 4170, the state ofthe Negative Keywords Table of FIG. 711 is as shown in FIG. 18B.

The input to the system shown and described herein may comprise a set ofpages with URLs differentiated by numerical values of any range. The setof pages may include at least one valid page and at least one invalidpage, and at least some of the valid and invalid pages may be identifiedby the same range of numeric values. A keyword set generator, using anyof the methods shown and described above, may include a numerical valuerange processor operative to identify all sequences of numeric valuescontaining at least one valid page, and to identify and skip invalidpages.

Digital input to the system shown and described herein may comprise awebsite with more than one URLs, each such URL having a numeric ID fielduniquely identifying a corresponding page. A numerical value rangeprocessor may define a range of numeric ID fields which includes all ofthe numeric ID fields in the website, to check all pages in the rangefor validity.

FIG. 19 is a simplified flowchart illustration of a method for numericalcrawling which is constructed and operative in accordance with certainembodiments of the present invention. The input to the method of FIG. 19may include a Basic URL (a URL on top of which the ID parameter is to beplaced), an ID field (the name of the ID parameter), a First ID (thefirst ID to try), a Last ID (the last ID to try), and a Validation Rulewhich is used to check that a particular web-page is a valid page, andcan serve as an item description. The validation rule may be provided inany suitable format, such as Java Regular Expression.

The method of FIG. 19 typically includes some or all of the followingsteps, suitably ordered e.g. as illustrated:

Step 21010: For each number in the range [{First ID} . . . {Last ID}]

Step 21020: Construct a URL of the form URL={Basic URL}?{IDfield}={number}.

Or, if other parameters already exist, URL={Basic URL}&{IDfield}={number}.

Step 21030:Fetch the page with the above URL.

Step 21040: Validate the page using the validation rate. For instance ifthe rule is a Java Regular Expression, search for the expression. Avalid page is one in which the expression was found.

Step 21050: Is page valid?

Step 21060: If yes, continue with steps 2060-2100 using the page as anitem description.

Step 21070: End loop.

The steps of FIG. 19 may replace steps 2010-2050 and 2110 and areparticularly advantageous in those applications in which less than allof the integer values in the provided range are valid. The split rule isreplaced, in the embodiment of FIG. 19, by the URL construction which infact can also be regarded as a rule, as it instructs the ExtractKeywords process how to construct the URL. The rule can be more generaland allow the integer number to appear not only as a parameter but alsoin other parts of the URL. Alternatively or in addition, the validationsteps of FIG. 19 may be added to the method of FIG. 2. The validationrule may vary. One possible rule is to provide a fixed string to searchin the page. Another possible rule is to provide a Java RegularExpression, as in the illustrated embodiment. These two possibilitiesare not intended to be limiting.

EXAMPLE 3

An example work session which utilizes the method of FIG. 19 is nowdescribed Carmel has created a new website for encouraging US citizensto vote in the US elections. It contains one page,voteintheunitedstates.com/index.jsp, which is dynamic and has aparameter named “candidate_id”. Given the value of this parameter theresulting form of the page is:

candidate_id=1: (voteintheunitedstates.com/index.jsp?candidate_id=1)

The above may be a page describing a first candidate, John Smith, andcontaining his picture, some details about him (as in the examplesabove) and a button named “press here to register for the elections”.

candidate_id=2: (voteintheunitedstates.com/index.jsp?candidate_id=2)

The above may be a page describing a second candidate, Sara Johnson,containing her picture, some details about her (as in the examplesabove) and a button named “press here to register for the elections”.

For any other value (for instance candidate_id=13) the page may show thefollowing message:

“Sorry, you have reached a missing candidate's page”.

Carmel provides the following inputs to steps 21010-21060 of the methodof FIG. 19:

Base URL=“voteintheunitedstates.com/index.jsp?”; ID field “candidate_id”

First ID=1; Last ID=3; Validation rule=“press here to register for theelections”.

Carmel then starts running the system, yielding the following results:

Step 2010: (For each number in the range [{First ID} . . . {Last ID}])number=1

Step 2020: (Construct a URL)URL=“voteintheunitedstates.com/index.jsp?candidate_id=1”

Step 21030:Fetch the page with that URL

Page=page of John Smith

Step 21040: (Validate page)

Look for “press here to register for the elections”—Found

Step 21050: (Is page valid?)—Yes

Step 21060: (If yes, continue with steps 2060-2100)

Parse the page of John Smith (similar to Example 1)

Step 2010: (For each number in the range [{First ID} . . . {Last ID}])number=2

Step 2020: (Construct a URL)URL=“voteintheunitedstates.com/index.jsp?candidate_id=2”

Step 21030:Fetch the page with that URL

Page=page of Sara Johnson

Step 21040: (Validate page)

Look for “press here to register for the elections”—Found

Step 21050: (Is page valid?)—Yes

Step 21060: (If yes, continue with steps 2060-2100)

Parse the page of Sara Johnson (similar to Example 1)

Step 2010: (For each number in the range [{First ID} . . . {Last ID}])number=3

Step 2020: (Construct a URL)URL=“voteintheunitedstates.com/index.jsp?candidate_id=3”

Step 21030:Fetch the page with that URL

Page=page containing message “Sorry, you have reached a missingcandidate's page”

Step 21040: (Validate page)

Look for “press here to register for the elections”—Didn't Find

Step 21050: (Is page valid?)—No

A particular advantage of certain embodiments of the system shown anddescribed herein is that the total site crawling capability provided isvery general and enables almost all relevant websites having a widevariety of site structures, to be crawled. The system shown anddescribed herein is particularly useful in applications in which awebsite representation is used to construct an initial paradigm. Aparadigm updating process is scheduled periodically, such as daily orweekly, in the course of which the website logs of the websiteaccumulated in the relevant period are analyzed by the system, such thatbeneficial search terms appearing therein can be added constantly aspositive keywords whereas keywords which have harmed the performance ofthe paradigm can be marked as negative keywords.

It is appreciated that software components of the present inventionincluding programs and data may, if desired, be implemented in ROM (readonly memory) form including CD-ROMs, EPROMs and EEPROMs, or may bestored in any other suitable computer-readable medium such as but notlimited to disks of various kinds, cards of various kinds and RAMs.Components described herein as software may, alternatively, beimplemented wholly or partly in hardware, if desired, using conventionaltechniques.

Included in the scope of the present invention, inter alia, areelectromagnetic signals carrying computer-readable instructions forperforming any or all of the steps of any of the methods shown anddescribed herein, in any suitable order, machine-readable instructionsfor performing any or all of the steps of any of the methods shown anddescribed herein, in any suitable order; program storage devicesreadable by machine, tangibly embodying a program of instructionsexecutable by the machine to perform any or all of the steps of any ofthe methods shown and described herein, in any suitable order; acomputer program product comprising a computer useable medium havingcomputer readable program code having embodied therein, and/or includingcomputer readable program code for performing, any or all of the stepsof any of the methods shown and described herein, in any suitable order,any technical effects brought about by any or all of the steps of any ofthe methods shown and described herein, when performed in any suitableorder; any suitable apparatus or device or combination of such,programmed to perform, alone or in combination, any or all of the stepsof any of the methods shown mid described herein, in any suitable order,information storage devices or physical records, such as disks or harddrives, causing a computer or other device to be configured so as tocarry out any or all of the steps of any of the methods shown anddescribed herein, in any suitable order; a program pre-stored e.g. inmemory or on an information network such as the Internet, before orafter being downloaded, which embodies any or all of the steps of any ofthe methods shown and described herein, in any suitable order, and themethod of uploading or downloading such, and a system including server/sand/or client/s for using such; and hardware which performs any or allof the steps of any of the methods shown and described herein, in anysuitable order, either alone or in conjunction with software.

Features of the present invention which are described in the context ofseparate embodiments may also be provided in combination in a singleembodiment. Conversely, features of the invention, including methodsteps, which are described for brevity in the context of a singleembodiment or in a certain order may be provided separately or in anysuitable subcombination or. in a different order, “e.g.” is used hereinin the sense of a specific example which is not intended to be limiting.

What is claimed is:
 1. A system comprising: a processor, and anon-transient computer-readable medium having stored thereoninstructions which, when executed by said processor, cause saidprocessor to: identify a first keyword associated with a firstinteraction between a first user and a website, the first interactioncomprising a suggestion made to the first user by the website to conductat least one of: a registration, a vote, and a purchase, determine thata conversion did not occur as a result of the first interaction, whereinthe conversion comprises at least one of: a registration by the firstuser, a vote by the first user, and a purchase by the first user,classify the first keyword as a negative keyword associated with saidwebsite, and cause an invitation display system to refrain fromdisplaying an invitation to the website when the negative keyword isused in a search phrase provided to a search engine.
 2. The systemaccording to claim 1, wherein the identification of the first keywordcomprises extracting the first keyword from a traffic log of thewebsite, by applying a parsing rule to the traffic log.
 3. The systemaccording to claim 2, wherein the first user is identified by an HTTP(HyperText Transfer Protocol) cookie appearing in the traffic log of thewebsite.
 4. The system according to claim 1, wherein the identificationof the first keyword comprises extracting the first keyword from arepresentation of the website, by applying a regular expression (RegEx)to the representation.
 5. The system according to claim 3, wherein therepresentation of the website is an RSS (Rich Site Summary) feed of thewebsite.
 6. The system according to claim 1, wherein the instructions,when executed by said processor, further cause said processor to:identify a second keyword associated with a second interaction between asecond user and the website, the second interaction comprising asuggestion made to the second user by the website to conduct at leastone of: a registration, a vote, and a purchase, determine that aconversion occurred as a result of the second interaction, wherein theconversion comprises at least one of: a registration by the second user,a vote by the second user, and a purchase by the second user, classifythe second keyword as a positive keyword associated with said website,and cause an invitation display system to display an invitation to thewebsite when the positive keyword is used in a search phrase provided toa search engine.
 7. A computer-implemented method comprising:identifying a first keyword associated with a first interaction betweena first user and a website, the first interaction comprising asuggestion made to the first user by the website to conduct at least oneof: a registration, a vote, and a purchase, determining that aconversion did not occur as a result of the first interaction, whereinthe conversion comprises at least one of: a registration by the firstuser, a vote by the first user, and a purchase by the first user,classifying the first keyword as a negative keyword associated with saidwebsite, and causing an invitation display system to refrain fromdisplaying an invitation to the website when the negative keyword isused in a search phrase provided to a search engine.
 8. The methodaccording to claim 7, wherein the identification of the first keywordcomprises extracting the first keyword from a traffic log of thewebsite, by applying a parsing rule to the traffic log.
 9. The methodaccording to claim 8, wherein the first user is identified by an HTTP(HyperText Transfer Protocol) cookie appearing in the traffic log of thewebsite.
 10. The method according to claim 7, wherein liveidentification of the first keyword comprises extracting the firstkeyword from a representation of the website, by applying a regularexpression (RegEx) to the representation.
 11. The method according toclaim 10, wherein the representation of the website is an RSS (Rich SiteSummary) feed of the website.
 12. The method according to claim 7,wherein the instructions, when executed by said processor, further causesaid processor to: identify a second keyword associated with a secondinteraction between a second user and the website, the secondinteraction comprising a suggestion made to the second user by thewebsite to conduct at least one of: a registration, a vote, and apurchase, determine that a conversion occurred as a result of the secondinteraction, wherein the conversion comprises at least one of: aregistration by the second user, a vote by the second user, and apurchase by the second user. classify the second keyword as a positivekeyword associated with said website, and cause an invitation displaysystem to display an invitation to the website when the positive keywordis used in a search phrase provided to a search engine.
 13. A computerprogram product comprising a non-transient computer-readable mediumhaving stored thereon instructions which, when executed by a processor,cause said processor to: identify a first keyword associated with afirst interaction between a first user and a website, the firstinteraction comprising a suggestion made to the first user by thewebsite to conduct at least one of: a registration, a vote, and apurchase; determine that a conversion did not occur as a result of thefirst interaction, wherein the conversion comprises at least one of: aregistration by the first user, a vote by the first user, and a purchaseby the first user; classify the first keyword as a negative keywordassociated with said website; and cause an invitation display system torefrain from displaying an invitation to the website when the negativekeyword is used in a search phrase provided to a search engine.
 14. Thecomputer program product according to claim 13, wherein theidentification of the first keyword comprises extracting the firstkeyword from a traffic log of the website, by applying a parsing rule tothe traffic log.
 15. The computer program product according to claim 14,wherein the first user is identified by an HTTP (HyperText TransferProtocol) cookie appearing in the traffic log of the website.
 16. Thecomputer program product according to claim 13, wherein theidentification of the first keyword comprises extracting the firstkeyword from a representation of the website, by applying a regularexpression (RegEx) to the representation.
 17. The computer programproduct according to claim 16, wherein the representation of the websiteis an RSS (Rich Site Summary) feed of the website.
 18. The computerprogram product according to claim 13, wherein the instructions, whenexecuted by said processor, further cause said processor to: identify asecond keyword associated with a second interaction between a seconduser and the website, the second interaction comprising a suggestionmade to the second user by the website to conduct at least one of: aregistration, a vote, and a purchase; determine that a conversionoccurred as a result of the second interaction, wherein the conversioncomprises at least one of: a registration by the second user, a vote bythe second user, and a purchase by the second user; classify the secondkeyword as a positive keyword associated with said website; and cause aninvitation display system to display an invitation to the website whenthe positive keyword is used in a search phrase provided to a searchengine.